
package com.scs.application.modules.upms.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.scs.application.core.model.CommonResult;
import com.scs.application.core.model.PageResult;
import com.scs.application.core.mvc.controller.CrudController;
import com.scs.application.core.mvc.controller.ImAndExAbleController;
import com.scs.application.modules.upms.entity.Parameter;
import com.scs.application.modules.upms.request.ParameterQueryRequest;
import com.scs.application.modules.upms.service.ParameterService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 参数配置 controller
 *
 */
@AllArgsConstructor
@RestController
@RequestMapping("/upms/parameters")
public class ParameterController extends CrudController<Parameter, String, ParameterService> implements ImAndExAbleController<ParameterQueryRequest> {

    @GetMapping("/page")
    public PageResult page(ParameterQueryRequest request) {
        IPage page = service.page(request);
        return PageResult.ok("查询成功", page.getRecords(), page.getTotal());
    }

    @GetMapping("/list")
    public CommonResult list(ParameterQueryRequest request) {
        List<Parameter> list = service.list(request);
        return CommonResult.ok("查询成功", list);
    }

    /**
     * 同步到缓存
     *
     * @return
     */
    @PostMapping("sync_to_cache")
    public CommonResult syncToCache() {
        service.syncToCache();
        return CommonResult.ok("同步成功");
    }

}
